package org.xteam.sled.semantic.exp;

public interface IExpVisitor {

	void visitAdd(ExpAdd expAdd);
	
	void visitSub(ExpSub expSub);
	
	void visitMul(ExpMul expMul);

	void visitConst(ExpConst expConst);

	void visitPC(ExpPC expPC);

	void visitSlice(ExpSlice expSlice);

	void visitVar(ExpVar expVar);

	void visitWiden(ExpWiden expWiden);

	void visitCondition(ExpCondition expCondition);

	void visitDiv(ExpDiv expDiv);

	void visitMod(ExpMod expMod);

	void visitNarrows(ExpNarrows expNarrows);
	
	void visitForce(ExpForce expForce);

	void visitNarrowu(ExpNarrowu expNarrowu);

	void visitShift(ExpShift expShift);

	void visitInstanceTagged(ExpInstanceTagged expInstanceTagged);

	void visitInstanceInput(ExpInstanceInput expInstanceInput);

	void visitBindingInstance(ExpBindingInstance expBindingInstance);

}
